//
//  FCAlertViewController.h
//  FCCommonUse_Example
//
//  Created by WJC on 2018/12/18.
//  Copyright © 2018 64912907. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "FCAlertAction.h"
#import "FCTextView.h"

/**
  弹窗枚举

 - FCAlert: 常规弹窗
 - FCAlertSheet: 底部弹窗,方形
 - FCAlertTopImage: 顶部带图片
 - FCAlertTopImageSheet: 底部弹窗顶部带图片
 - FCAlertTxt: 文本框弹窗
 - FCAlertTxtSheet: 底部文本框弹窗
 - FCAlertContainer: 返回自定义框弹窗(自己设置)
 - FCAlertContainerSheet: 返回自定义底部c弹窗
 */
typedef NS_ENUM(NSInteger, alertType) {
    FCAlert= 0,//已实现
    FCAlertSheet ,//已实现
    FCAlertTopImage,
    FCAlertTopImageSheet ,
    FCAlertTxt,//已实现
    FCAlertTxtView,//已实现
    FCAlertTxtSheet,
    FCAlertContainer,//已实现
    FCAlertContainerSheet =100,//已实现
};
@interface FCAlertViewController : UIViewController

/**
 初始化

 @param title 标题
 @param subTitle 子标题
 @param alertType 弹窗样式
 */
-(instancetype)initWithTitle:(NSString*)title andSubTitle:(NSString *)subTitle andAlertType:(alertType)alertType;
+(FCAlertViewController*)alertCommonWithTitle:(NSString*)title andSubTitle:(NSString *)subTitle andController:(UIViewController*)controller andCommitAction:(void (^)(FCAlertAction *action))handler;
+(FCAlertViewController*)alertOnlyCommonWithTitle:(NSString*)title andSubTitle:(NSString *)subTitle andController:(UIViewController*)controller andCommitAction:(void (^)(FCAlertAction *action))handler;
@property (nonatomic,strong) UIView *contentView;
//弹窗样式,不需要复制
@property (nonatomic,assign) alertType alertType;
@property (nonatomic,strong) UIView *buttonView;
//头标题label
@property (nonatomic,strong) UILabel *titleLabel;
//子标题
@property (nonatomic,strong) UILabel *subTitleLabel;
//弹窗头部图片
@property (nonatomic,strong) UIImageView *imageView;
//弹窗页面输入框
@property (nonatomic,strong) NSMutableArray<UITextField*> *txtFieldArr;
    //弹窗页面输入框
    @property (nonatomic,strong) NSMutableArray<FCTextView*> *txtViewArr;
//添加底部按钮
- (void)addAction:(FCAlertAction *)action;
//@property (nonatomic, readonly) NSArray<FCAlertAction *> *actions;
//添加输入框
- (void)addTextFieldWithConfigurationHandler:(void (^ )(UITextField *textField))configurationHandler;
    //添加textView
- (void)addTextViewWithConfigurationHandler:(void (^ )(FCTextView *textField))configurationHandler;
// 返回自定义框弹窗实现方法,
@property(nonatomic,strong)UIView* (^addCustomContainerBlock)(UIView* containerView);

/** 点击蒙版禁止消失 */
@property (nonatomic,assign) BOOL isNoDismiss;
@property (nonatomic,strong) UIVisualEffectView * visualView;
@end
